home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 5
/
Merciful - Disc 5.iso
/
software
/
a
/
amiga_client_software
/
amigaclientswarev1.45e.dms
/
amigaclientswarev1.45e.adf
/
install_acs
< prev
next >
Wrap
Text File
|
1992-09-24
|
20KB
|
683 lines
; Amiga Client Software Installation Script
;
; Author: Pat Cummings and Tim Patrick
; Copyright (c) 1992 Oxxi, Inc. All Rights Reserved.
; ----------- Setup some '#define' variables
(set DOS_V13 0 DOS_V20 1)
(set NEW_INSTALL 0 UPDATE_INSTALL 1)
(set TO_HARD_DRIVE 0 TO_SERVER 1)
(set CBM_ARCNET 0 CBM_ETHERNET 1 HYDRA_ETHERNET 2 ASDG_LAN_ROVER 3 QUANCOM 4)
(set FALSE 0 TRUE 1)
(set NO 0 YES 1)
(set ENOUGH_SPACE 0 NO_SPACE_RESTART 1 NO_SPACE_QUIT 2)
(set DO_NOT_INSTALL_HELP 0 DO_INSTALL_HELP 1)
; ----------- Setup the type of installation
(set answer
(askchoice
(prompt "What type of installation is this?")
(choices "New Install to Hard Drive" "Upgrade to Hard Drive"
"New Install to Server" "Upgrade to Server")
(help " \"Install to Hard Drive\" places the necessary Network "
" files on a specified hard drive at your local Amiga.\n\n"
" \"New Install to Server\" installs all ACS files, plus "
"the necessary AmigaDOS (WorkBench) files on the server.\n\n"
" \"Upgrade to Hard Drive\" and \"Upgrade to Server\" "
"let you upgrade the changed files from a new ACS version.\n")
)
)
(if (= answer 0) (set installType NEW_INSTALL installDest TO_HARD_DRIVE))
(if (= answer 1) (set installType UPDATE_INSTALL installDest TO_HARD_DRIVE))
(if (= answer 2) (set installType NEW_INSTALL installDest TO_SERVER))
(if (= answer 3) (set installType UPDATE_INSTALL installDest TO_SERVER))
(if (= installDest TO_SERVER)
(
(set answer
(askbool
(prompt "Are you logged in as a Supervisor-equivalent?")
(help
" Unless you are logged in with sufficient"
" rights to write to the server volume you select,"
" some files may not be copied to the server.\n\n"
@askbool-help)
)
)
(if (= answer NO)
(
(abort (cat
"You cannot install the ACS on the file"
" server without being logged in as"
" Supervisor-equivalent."
" Please log in and try the install procedure again." )
)
)
)
)
;-- else if (installDest == TO_HARD_DRIVE)
(
(set hardwareCard
; ---------- For hard disk install, ask what type of card they are using
(askchoice
(prompt "Which LAN board are you using?")
(help @askchoice-help)
(choices "Commodore Arcnet Card (A560 or A2060)"
"Commodore Ethernet Card (A2065)"
"Hydra \"AmigaNet\" Ethernet Card"
"ASDG Lan Rover Card"
"QuanCom ArcNet Card"
)
(default CBM_ETHERNET)
)
)
)
)
; ----------- Ask the user for the operating system version
(set workbenchVersion
(askchoice
(prompt "Which version of the WorkBench are you using?")
(help
" The ACS set is compatible with either 2.x or"
" earlier (1.2 and 1.3) versions of WorkBench.\n\n"
@askchoice-help)
(choices "Version 1.2 or 1.3" "Version 2.x")
(default DOS_V20)
)
)
; ----------- Acquire target drive for installation
(if (= installDest TO_HARD_DRIVE)
(set masterInstallDrive
(askdir
(prompt "Please indicate the path"
" where you want the ACS files installed."
" (A subdirectory called \"Network\" will be created"
" or found here.)")
(help
" The Amiga Client Software files will be"
" installed in a directory called \"Network\""
" on this path. If this directory does not exist,"
" it will be created automatically."
" If this is an upgrade, the \"Network\" subdirectory"
" should already exist here.\n\n"
@askdir-help)
(default (if (= workbenchVersion DOS_V20) "WORK:" "SYS:") )
)
)
;-- else if (installDest == TO_SERVER)
(if (= installType UPDATE_INSTALL)
(set masterInstallDrive
(askdir
(prompt "Please locate the Amiga Workbench area on your"
" file server (there should be a directory called"
" \"Amiga\" at this location).")
(help
" For most installed systems, these files are"
" located on the server.SYS: volume in the"
" Public directory.\n\n"
@askdir-help)
(default "nd0:Public")
)
)
;-- else if (installType == NEW_INSTALL)
(set masterInstallDrive
(askdir
(prompt "Please locate the Amiga Workbench area on your"
" file server (a directory called \"Amiga\" will"
" created at this location).")
(help
" For most installed systems, these files"
" should be installed on the server.SYS: volume in"
" the Public directory.\n\n"
@askdir-help)
(default "nd0:Public")
)
)
)
)
; ---------- Use Amiga directory on server install.
; If this is an update to the server, put everything
; in an Amiga directory under the currently chosen
; masterInstallDrive path.
(if (= installDest TO_SERVER)
(
(if (= installType UPDATE_INSTALL)
(
(set masterInstallDrive (tackon masterInstallDrive "Amiga"))
(if (= workbenchVersion DOS_V13)
(set masterInstallDrive (tackon masterInstallDrive
"Workbench1.3"))
(set masterInstallDrive (tackon masterInstallDrive
"Workbench2.0"))
)
)
;-----------else (installType = NEW_INSTALL)
(
(if (not (exists (tackon masterInstallDrive "Amiga")))
(makedir
(tackon masterInstallDrive "Amiga")
(prompt "Creating \"Amiga\" directory.")
(help @makedir-help)
(confirm)
(infos)
)
)
; ---------- Create icons to the root
(
(set getIconsFrom masterInstallDrive)
(set theCurrentDir masterInstallDrive)
(set oldPathName "xxx")
(while (<> oldPathName theCurrentDir)
(
(set oldPathName theCurrentDir)
(set justDirName (fileonly theCurrentDir))
(set theCurrentDir (pathonly theCurrentDir))
(if (<> oldPathName theCurrentdir)
(copyfiles
(prompt "Creating Amiga icons.")
(help @copyfiles-help)
(source getIconsFrom)
(dest theCurrentdir)
(pattern "Amiga.info")
(newname ("%s.info" justDirName))
(optional)
(infos)
)
)
)
)
)
(set masterInstallDrive (tackon
masterInstallDrive "Amiga"))
(if (not (exists (tackon masterInstallDrive "Workbench1.3")))
(makedir (tackon masterInstallDrive "Workbench1.3")
(infos)
)
)
(if (not (exists (tackon masterInstallDrive "Workbench2.0")))
(makedir (tackon masterInstallDrive "Workbench2.0")
(infos)
)
)
(if (not (exists (tackon masterInstallDrive "Products")))
(makedir (tackon masterInstallDrive "Products")
(prompt "Creating \"Products\" directory.")
(help " Along with a \"Workbench1.3\" and a"
" \"Workbench2.0\" directory, you may wish to"
" create a \"Products\" directory as a"
" convenient put your third-party applications"
" that are not dependent on any specific"
" version of Workbench.\n\n"
@makedir-help)
(confirm)
(infos)
)
)
(if (= workbenchVersion DOS_V13)
(set masterInstallDrive (tackon masterInstallDrive
"Workbench1.3"))
(set masterInstallDrive (tackon masterInstallDrive
"Workbench2.0"))
)
; ---------- Install The Workbench and the Extras if requested
(set answer
(askbool
(prompt (cat "Do you want to install a Workbench"
(select workbenchVersion " 1.3" " 2.0")
" file system on " masterInstallDrive "?"))
(help
" If you will have Amiga workstations on"
" this network which will be using the server"
" as their primary hard drive, you should"
" create an Amiga directory.\n\n"
@askbool-help)
(default YES)
)
)
(if (= answer YES)
(
; ---------- Copy AmigaDOS and extras to the server
(set WB_SourceDisk
(askdir
(prompt "Please insert your Amiga"
" Workbench disk and"
" click the \"Show Drives\" button to"
" select its name from the requester")
(help
" Most Amiga release Workbench disks"
" are named Workbench(something). While"
" you can use another Workbench disk"
" besides the Commodore release disk,"
" some files may not be included on"
" such disks, and so these missing files"
" cannot be installed on the"
" server.")
(default "df0:")
)
)
(copyfiles
(prompt "Copying AmigaDOS files to server.")
(help @copyfiles-help)
(source WB_SourceDisk)
(dest masterInstallDrive)
(all)
(infos)
(confirm)
)
(set Extras_SourceDisk
(askdir
(prompt "Please insert your Amiga Extras"
" disk and click the \"Show Drives\""
" button to select its name from the"
" requester")
(help
" Most Amiga release Extras disks"
" are named (something)Extras. While"
" you can use another Extras disk"
" besides the Commodore release disk,"
" some files may not be included on such"
" disks, and so these missing files"
" cannot be installed on the server.")
(default "df0:")
)
)
(copyfiles
(prompt
"Copying AmigaDOS Extras files to server.")
(help @copyfiles-help)
(source Extras_SourceDisk)
(dest masterInstallDrive)
(all)
(infos)
(confirm)
)
)
)
)
)
)
)
; ---------- Ask the user to put the "ACS_Install_Workbench" disk in
(askdisk
(dest "ACS_Install_Workbench")
(prompt "Please insert the Network Install disk labelled\n\n"
"Amiga Client Software\nInstall Workbench")
(help @askdisk-help)
)
; ---------- Choose the location of SYS:
; If this is server install, put everything in same place,
; but if this is harddrive install, essential files go in
; sys: by default
(if (= installDest TO_HARD_DRIVE)
(set sysVolumePath "SYS:")
(set sysVolumePath masterInstallDrive)
)
; ---------- Copy the NCP.library to the sysVolumePath destination
(copyfiles
(prompt "Copying Essential ACS Files")
(help @copyfiles-help)
(source "ACS_Install_Workbench:libs")
(dest (tackon sysVolumePath "libs"))
(infos)
(pattern "NCP.library")
(confirm)
)
; ---------- Copy the device driver(s) to the sysVolumePath destination
(copyfiles
(prompt "Copying Essential ACS Files")
(help @copyfiles-help)
(source "ACS_Install_Workbench:Expansion")
(dest (tackon sysVolumePath "Expansion"))
(infos)
(pattern
(if (= installDest TO_SERVER)
("#?")
(select hardwareCard "Arc#?" "Eth#?" "Hyd#?" "ASDG#?" "Arc#?")
)
)
(confirm)
)
; ---------- Copy the Net-Handler to the sysVolumePath destination
(copyfiles
(prompt "Copying Essential ACS Files")
(help @copyfiles-help)
(source "ACS_Install_Workbench:l")
(pattern "Net-Handler")
(dest (tackon sysVolumePath "l"))
(confirm)
)
; ---------- Copy the NPR-Handler to the sysVolumePath destination
(copyfiles
(prompt "Copying Essential ACS Files")
(help @copyfiles-help)
(source "ACS_Install_Workbench:l")
(pattern "NPR-Handler")
(dest (tackon sysVolumePath "l"))
(confirm)
)
; ---------- Copy the NetPrint.device and the Printer.device
; printer device drivers to the sysVolumePath destination
(copyfiles
(prompt "Copying Essential ACS Files")
(help @copyfiles-help)
(source "ACS_Install_Workbench:devs")
(dest (tackon sysVolumePath "devs"))
(pattern (if (= workbenchVersion DOS_V13)
"#?print#?.device" "NetPrint.Device"))
(confirm)
)
; ---------- Copy the fonts to the sysVolumePath destination
(copyfiles
(prompt "Copying Essential ACS Fonts")
(help @copyfiles-help)
(source "ACS_Install_Workbench:fonts")
(pattern "narrow")
(dest (tackon sysVolumePath "fonts"))
(fonts)
(confirm)
)
(copyfiles
(prompt "Copying Essential ACS Fonts")
(help @copyfiles-help)
(source "ACS_Install_Workbench:fonts")
(pattern "helvetica")
(dest (tackon sysVolumePath "fonts"))
(fonts)
(confirm)
)
; ---------- Copy the 1.3 NetPrefs program to the sysVolumePath destination
(if (= workbenchVersion DOS_V13)
(copyfiles
(prompt "Copying Essential ACS Files")
(help @copyfiles-help)
(source "ACS_Install_Workbench:Prefs")
(dest (tackon sysVolumePath "Prefs"))
(pattern "NetPrefs")
(confirm)
(infos)
)
)
; ---------- Copy the 2.0 Printer prefs program to the sysVolumePath
; destination (without its info file)
(if (= workbenchVersion DOS_V20)
(copyfiles
(prompt "Copying Essential ACS Files")
(help @copyfiles-help)
(source "ACS_Install_Workbench:Prefs")
(dest (tackon sysVolumePath "Prefs"))
(pattern "Printer")
(confirm)
)
)
; ---------- Prepare to copy the network utilities
; Check the amount of disk space on the user's disk to see
; if it is enough to store the utilities
(set destDiskSpace (getdiskspace masterInstallDrive))
(set spaceCheck TRUE)
(while (= spaceCheck TRUE)
(set spaceChoice
(askchoice
(prompt
(cat "You have " (/ destDiskSpace 1024)
" KBytes available on the target drive."
" 400 KBytes of free space is required to"
" install all the Amiga Client Software on"
" this drive. If you don't have enough"
" space on this drive, please Abort the"
" installation and either make space, or"
" restart the installation for a"
" different hard drive."
)
)
(help
" When you are installing an upgrade, some files"
" will be overwritten, thus less total free space"
" will be required. A first-time installation"
" will require 400 KBytes of free space.\n\n"
@askchoice-help)
(choices "I Have Enough Room" "Choose New Drive"
"Quit Installation")
(default ENOUGH_SPACE)
)
)
(if (= spaceChoice NO_SPACE_QUIT)
(abort (cat
"Please find some disk space and try the install"
" procedure again.")
)
)
(if (= spaceChoice NO_SPACE_RESTART)
(
(set masterInstallDrive
(askdir
(prompt "Please choose a volume on which to"
" create the Network directory where the ACS files"
" will be installed.")
(help @askdir-help)
(default masterInstallDrive)
)
)
(set destDiskSpace (getdiskspace masterInstallDrive))
)
;-- else if (spaceChoice == ENOUGH_SPACE)
(set spaceCheck FALSE)
)
)
; ---------- Create Network directory on target drive
(set networkDirectory (tackon masterInstallDrive "Network"))
(if (not (exists networkDirectory))
(makedir networkDirectory
(prompt "Creating Network directory.")
(help @makedir-help)
(confirm)
(infos)
)
)
; ---------- Ask the user to put the "Install I" disk in and copy the
; files from it to the destination directory.
(askdisk
(dest "ACS_Install_I")
(prompt "Please insert the Network Install disk labelled\n\n"
"Amiga Client Software\nInstall I")
(help @askdisk-help)
)
(copyfiles
(prompt (cat "Copying Amiga Client Utilities to " networkDirectory))
(source "ACS_Install_I:Network")
(dest networkDirectory)
(help @copyfiles-help)
(confirm)
(all)
)
; ---------- Ask the user to put the "Install II" disk in and copy the
; files from it to the destination directory.
(askdisk
(dest "ACS_Install_II")
(prompt "Please insert the Network Install disk labelled\n\n"
"Amiga Client Software\nInstall II")
(help @askdisk-help)
)
(copyfiles
(prompt (cat "Copying Amiga Client Utilities to " networkDirectory))
(source "ACS_Install_II:Network")
(dest networkDirectory)
(help @copyfiles-help)
(confirm)
(all)
)
; ---------- Ask the user to put the "Install III" disk in and copy the
; files from it to the destination directory.
(askdisk
(dest "ACS_Install_III")
(prompt "Please insert the Network Install disk labelled\n\n"
"Amiga Client Software\nInstall III")
(help @askdisk-help)
)
(copyfiles
(prompt (cat "Copying Amiga Client Utilities to " networkDirectory))
(source "ACS_Install_III:Network")
(dest networkDirectory)
(help @copyfiles-help)
(confirm)
(all)
)
; ---------- Ask they user if they want to install the help for the
; menu utilities.
(set installHelp
(askchoice
(prompt "Do you want to install the Help Text for the ACS"
" utilities?")
(help
" Help text is available by pressing the [F1] key or the"
" [HELP] key while in any ACS menu utility. If you have"
" installed this before, it does not need to be reinstalled.\n"
" When a utility that uses Help text is started, it first"
" looks to the currently preferred file server for its"
" Help text, and then looks to the \"Network\" directory."
)
(choices "Already Installed" "Please Install HELP")
(default (if (= installType UPDATE_INSTALL)
DO_NOT_INSTALL_HELP
DO_INSTLL_HELP)
)
)
)
(if (= installHelp DO_INSTALL_HELP)
(copyfiles
(prompt "Installing ACS Utilities Help Files")
(source "ACS_Install_III:Help")
(help @copyfiles-help)
(dest (tackon networkDirectory "Help"))
(confirm)
(all)
)
)
; ---------- Ask the user to put in the installer disk back in a drive.
(askdisk
(dest "ACS_Install_Utility")
(prompt "Please insert the Network Install disk labelled\n\n"
"Amiga Client Software\nInstall Utility")
(help @askdisk-help)
)
; ---------- Copy the network utilities icons
(if (= workbenchVersion DOS_V13)
(set iconsSource "ACS_Install_Utility:neticons1.3")
(set iconsSource "ACS_Install_Utility:neticons2.0")
)
(copyfiles
(prompt "Copying ACS Utilities Icons")
(source iconsSource)
(help @copyfiles-help)
(dest networkDirectory)
(confirm)
(infos)
(all)
)
; ---------- Ask the user how many volumes exist on this
; server and install a disk icon for each one.
(if (= installDest TO_SERVER)
(
(Set numberOfVolumes
(asknumber
(prompt "How many volumes exist on your server?")
(help @asknumber-help)
(default 1)
)
)
(set count 0)
(while (< count numberOfVolumes)
(
(copyfiles
(prompt
"Copying network volume icon to server.")
(source iconsSource)
(dest (cat "nd" count ":"))
(pattern "ACS_Volume.info")
(help @copyfiles-help)
(newname "Disk.info")
(confirm)
(infos)
)
(set count (+ count 1))
)
)
)
)
; ---------- Do the Startup-Sequence stuff for the hard drive installation
(if (= installDest TO_HARD_DRIVE)
(startup "Amiga Client Software"
(prompt "Adding commands to your user startup file.")
(help
" This process adds the following two statements to"
" your Amiga startup files:\n"
" assign Network: " networkDirectory "\n"
" path Network: add\n"
" These statements tell your computer where to find"
" the ACS utilities from a CLI. Then you may use the"
" Login utility, or any ACS utility, from any directory.\n\n"
@startup-help)
(command (cat "assign Network: " networkDirectory "\n"))
(command "path Network: add")
)
)
; ---------- Give the closing arguments
(if (= installDest TO_HARD_DRIVE)
(message (cat
"Your ACS files have been installed on \"" masterInstallDrive
"\" in a directory named Network. You will need to"
" reboot to make the new NCP.library file active and"
" Login before you will be able to use the server"
" volumes. If you are running NetWare 3.11 please be"
" sure that Macintosh Name Space has been added to the"
" network volumes!"))
(message (cat
"Your ACS files have been installed on the server"
" volume \"masterInstallDrive\". You may need to Login"
" again to use these files. In order for users to"
" see the server volumes"
" as disk icons, Amiga users need special rights on the"
" server. See documentation for details."))
)
(exit)